package com.t.bricks.bussiness.db.mapper.orderscomment;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.t.bricks.bussiness.db.entity.orderscomment.OrdersComment;
import com.t.bricks.bussiness.db.entity.orderscomment.base.OrdersCommentBase;

@Mapper
public interface OrdersCommentMapper {
	
	/**
	 * 添加
	 * @Param ordersComment
	 * @return int
	 */
	int add(OrdersComment ordersComment);

	/**
	 * 修改
	 * 注意:当对象的属性值为null时不更新字段
	 * @Param ordersCommentBase
	 * @return int
	 */
	int edit(OrdersCommentBase ordersCommentBase);
	
	/**
	 * 验证订单操作权限
	 * 返回类似111数字,分别代表是否当前用户订单/期限内订单/已经评论
	 * @param sOrderId
	 * @param sWaresId
	 * @param iSpace
	 * @param sCreator
	 * @return int
	 */
	int checkOrders(
		@Param("sOrderId") String sOrderId,
		@Param("sWaresId") String sWaresId,
		@Param("iSpace") Integer iSpace,
		@Param("sCreator") String sCreator
	);
	
	/**
	 * 审核
	 * @param sId
	 * @param iVersion
	 * @param sAuditId
	 * @param sAudit
	 * @return
	 */
	int audit(
		@Param("sId") String sId,
		@Param("iVersion") Integer iVersion,
		@Param("sAuditId") String sAuditId,
		@Param("sAudit") String sAudit
	);

	/**
	 * 查询商品的评价
	 * @Param sWaresId 商品编号
	 * @Param iSize 取几条记录
	 * @return List<OrdersComment>
	 */
	List<OrdersComment> findBysWaresId(
		@Param("sWaresId") String sWaresId,
		@Param("iSize") Integer iSize
	);
	
	/**
	 * 查询订单下各个商品的评价检验值
	 * @param sOrderId
	 * @param sCreator
	 * @param iSpace
	 * @return
	 */
	List<Map<String, Integer>> findOrderCheck(
		@Param("sOrderId") String sOrderId,
		@Param("sCreator") String sCreator,
		@Param("iSpace") Integer iSpace
	);

}
